package com.simplegui.api;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Point;

public interface Canvas {
//	canvas.draw_text(text, point, font_size, font_color)
//	canvas.draw_text(text, point, font_size, font_color, font_face)
	public void drawText(String text, Point point, Font font, Color color);
	
//	canvas.draw_line(point1, point2, line_width, line_color)
	public void drawLine(Point startPoint, Point endPoint, int lineWidth, Color color);
	
//	canvas.draw_polyline(point_list, line_width, line_color)
	public void drawPolyLine(Point[] points, int lineWidth, Color color);
	
//	canvas.draw_polygon(point_list, line_width, line_color, fill_color=None)
	public void drawPolygon(Point[] points, int lineWidth, Color lineColor);
	public void drawPolygon(Point[] points, int lineWidth, Color lineColor, Color fillColor);
	
//	canvas.draw_circle(center_point, radius, line_width, line_color, fill_color=None)
	public void drawCircle(Point center, int radius, int lineWidth, Color lineColor);
	public void drawCircle(Point center, int radius, int lineWidth, Color lineColor, Color fillColor);
	
//	canvas.draw_image(image, center_source, width_height_source, center_dest, width_height_dest)
	public void drawImage(ImageFile image, Point centerSource, Dimension dimensionSource, Point centerDest, Dimension dimensionDest);

//	canvas.draw_image(image, center_source, width_height_source, center_dest, width_height_dest, rotation)
	public void drawImage(ImageFile image, Point centerSource, Dimension dimensionSource, Point centerDest, Dimension dimensionDest, double rotation);

	public void setBackground(Color color);

	public void clear();
	
}
